Verification of software for safety critical commercial aircraft applications is a difficult problem with associated large amounts of time and cost. Model-based development (MBD) tools are widely used to define algorithms, or sets of algorithms, used to implements control systems such as flight controls, engine controls, navigation, and the like. Using these tools, tests can be automatically created to verify that the implementation of data-flow block diagrams will correctly conform to the intended model for a particular control system. The automation of test generation has great potential for significantly reducing the time and cost associated with software verification.
A problem exits, however, with existing range propagation methods utilized by MBD tools in that they can result in loose bounds. They may even default in worst-case bounds for propagation through complex blocks. Further, range-based defect analyses that reason about how the bounds of input signals to different types of model structures can result in false positives (i.e., false alarms) when ranges bounds are not tight. Meanwhile, requirements-based test generation methods that rely on type and range propagation may produce lower requirements coverage using looser bounds of signals compared to the same method using tighter bounds or may require significantly longer computation time or significantly more memory.
For the reasons stated above and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the specification, there is a need in the art for improved systems and methods for type and range propagation through data flow models.